package com.neuedu.corejava.ch8.homework;

/**
 * 、编写应用程序，从命令行传入两个整型数作为除数和被除数。
 * 要 求程序中捕获NumberFormatException 异常和ArithmeticException 异常，
 * 而且无论在哪种情况下，“总是被执行”这句话都会在控制台 输出。 [必作题] 
 * 在命令行输入不同的参数时能输出如下各种结果：
 * 在命令行输入 java A 1.2 
 * 在命令行输入 java A 1 2 1.3 
 * 在命令行输入 java A 1 3a 1.4 
 * 在命令行输入 java A 1 0
 */

import java.util.Scanner;
public class TestIntExceptionClass {

	public static void main(String[] args) {
		testException();

	}
	private static void testException() {
		int x = 0, y = 0, c;
		Scanner scanner = new Scanner(System.in);
		int[] a = new int[4];
		System.out.println("请输入数字");
		for (int i = 0; i < a.length; i++) {
			x = scanner.nextInt();
		}
		int[] b = new int[4];
		System.out.println("请输入数字");
		for (int j = 0; j < b.length; j++) {
			y = scanner.nextInt();
		}
			try {
				if (x>a.length ||y>b.length) {
					try {
						c = x / y;
						System.out.print(c);
					} catch (ArrayIndexOutOfBoundsException e) {
						e.printStackTrace();
						System.out.println("数字下标越界") ;
					}	
				}				
			} catch (ArithmeticException e) {
				e.printStackTrace();
				System.out.println("算术错误");
			} catch (NumberFormatException e) {
				e.printStackTrace();
				System.out.println("数字格式错误");
			} catch (ArrayIndexOutOfBoundsException  e) {
				e.printStackTrace();
			} catch (Exception  e) {
				e.printStackTrace();
			}
			
			finally {
				System.out.println("“总是被执行");
			}	

	}
	
	
	
}
